9月 7 2017 Online Judge►LeetCode [LeetCode] 442 - Find All Duplicates in an Array 題意一陣列符合 1 ≤ a[i] ≤ n 且元素皆為一個或兩個,找出所有含有兩個的元素。 解法遍歷所有元素並將遇到的元素 index-1 設為相反數,因此若遇到該元素已經為負數的情形則代表重複。 程式1234567891011/** * @param {number[]} nums * @return {number[]} */var findDuplicates = function(nums) { return nums.reduce((result, num) => { const number = Math.abs(num); nums[number - 1] < 0 ? result.push(number) : nums[number - 1] *= -1 ; return result; }, []);}; Newer [LeetCode] 287 - Find the Duplicate Number Older [LeetCode] 451 - Sort Characters By Frequency